//
//  EVECDCharacter.h
//  EVE Mac Suite
//
//  Created by Vadim Lozko on 6/22/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

#import <CoreData/CoreData.h>

@class EVECDCharismaEnhancer;
@class EVECDPerceptionEnhancer;
@class EVECDSkillPlan;
@class EVECDMemoryEnhancer;
@class EVECDLearnedGroup;
@class EVECDIntelligenceEnhancer;
@class EVECDQueueItem;
@class EVECDWillpowerEnhancer;

@interface EVECDCharacter :  NSManagedObject  
{
}
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * race;
@property (nonatomic, retain) NSString * gender;
@property (nonatomic, retain) NSString * bloodline;
@property (nonatomic, retain) NSData * image;

@property (nonatomic, retain) NSNumber* baseCharisma;
@property (nonatomic, retain) NSNumber* baseIntelligence;
@property (nonatomic, retain) NSNumber* baseMemory;
@property (nonatomic, retain) NSNumber* basePerception;
@property (nonatomic, retain) NSNumber* baseWillpower;

@property (nonatomic, retain) NSNumber * charisma;
@property (nonatomic, retain) NSNumber * intelligence;
@property (nonatomic, retain) NSNumber * memory;
@property (nonatomic, retain) NSNumber * perception;
@property (nonatomic, retain) NSNumber * willpower;

@property (nonatomic, retain) NSString * corporation;
@property (nonatomic, retain) NSNumber * balance;
@property (nonatomic, retain) NSString * cloneName;
@property (nonatomic, retain) NSNumber * cloneSkillPoints;

@property (nonatomic, retain) NSSet* learnedGroups;
@property (nonatomic, retain) NSSet* certificates;
@property (nonatomic, retain) NSSet* queuedSkills;
@property (nonatomic, retain) NSSet* skillPlans;

@property (nonatomic, retain) EVECDCharismaEnhancer * charismaEnhancer;
@property (nonatomic, retain) EVECDIntelligenceEnhancer * intelligenceEnhancer;
@property (nonatomic, retain) EVECDMemoryEnhancer * memoryEnhancer;
@property (nonatomic, retain) EVECDPerceptionEnhancer * perceptionEnhancer;
@property (nonatomic, retain) EVECDWillpowerEnhancer * willpowerEnhancer;

@end


@interface EVECDCharacter (CoreDataGeneratedAccessors)
- (void)addSkillPlansObject:(EVECDSkillPlan *)value;
- (void)removeSkillPlansObject:(EVECDSkillPlan *)value;
- (void)addSkillPlans:(NSSet *)value;
- (void)removeSkillPlans:(NSSet *)value;

- (void)addCertificatesObject:(NSManagedObject *)value;
- (void)removeCertificatesObject:(NSManagedObject *)value;
- (void)addCertificates:(NSSet *)value;
- (void)removeCertificates:(NSSet *)value;

- (void)addLearnedGroupsObject:(EVECDLearnedGroup *)value;
- (void)removeLearnedGroupsObject:(EVECDLearnedGroup *)value;
- (void)addLearnedGroups:(NSSet *)value;
- (void)removeLearnedGroups:(NSSet *)value;

- (void)addQueuedSkillsObject:(EVECDQueueItem *)value;
- (void)removeQueuedSkillsObject:(EVECDQueueItem *)value;
- (void)addQueuedSkills:(NSSet *)value;
- (void)removeQueuedSkills:(NSSet *)value;

@end

@interface EVECDCharacter (BindingsAccessors)

-(NSSet*)learnedSkillTree;
-(NSArray*)trainedSkillTree;
-(BOOL)isLeaf;

@end
